Awesome Composer
      
      
      
    
    
      
    
    
      
        A curated list of resources for Composer, Packagist, Satis, Plugins,
        Scripts, Videos, Tutorials.
      
    
    
      You might also like
      awesome-php.
    
    
      Please read the
        contribution guidelines before
        contributing.
    
    Composer
    
    Support
    Stack Overflow
    
    IRC
    
    
    Plugins
    
      - 
        Documentation for Plugins
        - This offical documentation is good starting point, when writing a
        Composer plugin.
      
 
      - 
        Composer-Asset-Plugin
        - A npm/Bower Dependencies Manager for Composer.
      
 
      - 
        Composer-AWS
        - The plugin loads repository data and downloads packages from Amazon S3
        (with authentication support for private repositories).
      
 
      - 
        Composer-Composition
        - Provides an API, for checking your environment at runtime.
      
 
      - 
        Composer-Suggest
        - Enables you to install a custom group of suggested packages, based on
        keyword patterns.
      
 
      - 
        Composer-Versions-Check
        - Shows outdated packages from last major versions after using the
        update command (showing “Latest is vX.Y.Z”).
      
 
      - 
        Composer-Changelogs
        - Provides a summary of the updates with links to
        changelog/releasenote/tag. The output is ready to be pasted into the
        commit message when updating the composer.lock file.
      
 
      - 
        Composer-Merge-Plugin
        - Merges multiple 
composer.json files at Composer runtime.
       
      - 
        Composer-Bin-Plugin
        - Adds support for managing dependencies for multiple packages in a
        single repository or isolate bin dependencies.
      
 
      - 
        Composer-Inheritance-Plugin
        - Opinionated version of Wikimedia composer-merge-plugin to work in pair
        with Bamarni composer-bin-plugin.
      
 
      - 
        Composer-MonoRepo-Plugin
        - The plugin helps to manage dependencies for multiple packages in a
        single repository.
      
 
      - 
        Composer-Patches-Plugin
        - Enables you to provide patches for any package from any package. When
        the dependency is fetched, the patch is applied on top.
      
 
      - 
        Composer-Patches
        - The plugin applies a patch from a local or remote file to any required
        package.
      
 
      - 
        Composer-Patches
        - Applies a patch from a local or remote file to any package that is
        part of a given composer project.
      
 
      - 
        Composer-Patchset
        - Automatically fetch, update and apply patches to any composer package
        with a twist - store the patchset as a composer package itself.
      
 
      - 
        Composer-Plugin-QA
        - Comprehensive Plugin for composer to execute PHP Quality assurance
        Tools.
      
 
      - 
        Composer-Cleanup-Plugin
        - Removes tests & documentation folders from the vendor dir.
      
 
      - 
        Composer-Cleaner
        - The tool removes unnecessary files and directories from the vendor
        directory.
      
 
      - 
        Composer-Ignore-Plugin
        - Enables you to remove files and folders from the vendor folder (to
        make a cleaner and smaller deployment to production). It’s an
        alternative to 
.gitattributes.
       
      - 
        Composer-Vendor-Cleaner
        - Plugin removes unnecessary development files and directories from
        
vendor directory by glob pattern syntax.
       
      - 
        Drupal Vendor Hardening Composer Plugin
        - Removes extraneous directories from the project’s vendor directory
        & adds .htaccess and web.config files to the root of the project’s
        vendor directory.
      
 
      - 
        Composer-Shared-Package-Plugin
        - Allows you to share selected packages between your projects by
        creating symlinks.
      
 
      - 
        Composer-Symlinker
        - Enables you to load packages from different directories (instead of
        loading them from /vendor).
      
 
      - 
        Prestissimo - A
        parallel downloader using 
phpext_curl.
       
      - 
        Composer-Curl-Plugin
        - The plugin use phpext_curl for downloading packages.
      
 
      - 
        Composer-Custom-Directory-Installer
        - A composer plugin, to install different types of composer packages in
        custom directories outside the default composer installation path
        (vendor folder).
      
 
      - 
        Composer-Dependency-Analyzer
        - Allows you to build a dependency graph for an installed composer
        project.
      
 
      - 
        Graph-Composer
        - Provides a graph visualization for your project’s
        
composer.json and its dependencies.
       
      - 
        PackageVersions
        - Provides a very quick and easy access to installed composer dependency
        versions.
      
 
      - 
        Composer Locator
        - Provides a means of locating the installation path for a given
        Composer package name.
      
 
      - 
        PackageInfo
        - Enables you to retrieve all package informations (like version, tag,
        release date, description).
      
 
      - 
        Composer-Git-Hooks
        - A library for easily managing git hooks in your composer config.
      
 
      - 
        Symfony-Flex - Provides
        recipe-based
        installation and configuration management for Symfony packages.
      
 
      - 
        Narrowspark-Automatic
        - Automates the most common tasks of applications, boost package
        downloads, adds a composer security audit and more.
      
 
      - 
        PHPCodeSniffer-Composer-Installer
        - The plugin enables you to install
        PHP_CodeSniffer
        coding standards (rulesets).
      
 
      - 
        Composer-Warmup
        - The plugin adds the command 
warmup-opcode to Composer,
        which triggers the compilation of all PHP files discovered in your
        project into the Opcache.
       
      - 
        Foxy - Composer plugin that
        executes npm/yarn packages installation operations, when composer
        package is installed or updated.
      
 
      - 
        NodeJS-Installer
        - Installer for NodeJS and npm.
      
 
      - 
        Node-Composer
        - Installer for NodeJS, npm and yarn.
      
 
      - 
        Imposter-Plugin
        - Wrapping all composer vendor packages inside your own namespace.
        Intended for WordPress plugins.
      
 
      - 
        Composer Preload
        - The plugin generates a 
vendor/preload.php file to warm up
        the Opcache.
       
      - 
        PHP Inc - Automatically
        includes files for autoload and autoload-dev to facilitate using
        functions and grouped definitions within composer loaded applications.
      
 
      - 
        Composer Registry Manager
        - Enables you to switch between different composer repositories.
      
 
      - 
        Production-Dependencies-Guard
        - Prevents development packages from being added into require and
        getting into production environment.
      
 
      - 
        Composer Exclusive Install
        - Prevents more than one install or update operation at a time.
      
 
      - 
        Composer-Downloads-Plugin
        - Lightweight mechanism to download external resources (ZIP/TAR files)
        with only a 
url and path.
       
      - 
        Private-Composer-Installer
        - Install helper outsourcing sensitive keys from the package URL into
        environment variables.
      
 
      - 
        CycloneDX-PHP-Composer
        - Creates a
        CycloneDX “Software
        Bill-of-Materials” (SBOM) for the dependencies of a project. The SBOM
        enables dependency monitoring and risk analysis by
        OWASP DependencyTrack.
      
 
      - 
        Composer-Compile-Plugin
        - Allow PHP libraries to define simple, freeform compilation tasks.
        Support post-install hooks in any package.
      
 
    
    
    
      - 
        Composer SemVer Checker - Enables
        you identify constraint to version resolution issues, by doing a
        semantic version check for Packagist hosted packages.
      
 
      - 
        Composer-Yaml
        - This tool converts 
composer.yml to
        composer.json.
       
      - 
        Studio - A workbench
        for developing Composer packages. Its an alternative to editing
        dependencies in the vendor folder or using
        PathRepositories
        to load a local clone of your dependency into your project.
      
 
      - 
        OctoLinker Browser Extension
        - Enables you to navigate Composer/NPM dependencies on Github.
      
 
      - 
        ComposerRequireChecker
        - A CLI tool to analyze dependencies and verify that no unknown imported
        symbols are used in the sources of a package.
      
 
      - 
        Composer-Unused
        - A CLI tool, which scans your code and shows unused Composer
        dependencies.
      
 
      - 
        Composer-Normalize
        - The plugin helps to keep your
        
composer.json file(s) consistent by restructuring and
        sorting entries (normalizing).
       
      - 
        Composer-Service
        - Enables you to run Composer as a service on a remote server.
      
 
      - 
        Composer PreferLowest Checker
        - Strictly compare the specified minimum versions of your composer.json
        with the ones actually used by the prefer-lowest composer update command
        option.
      
 
      - 
        Bramus/Composer-Autocomplete
        - A Bash/Shell autocompletion script for Composer.
      
 
      - 
        Composer/Xdebug-Handler
        - Helps you to restart a CLI process without loading the xdebug
        extension.
      
 
      - 
        Composer Semver Range Checker
        - A tool to help check the satisfiable ranges of a composer constraint.
      
 
    
    Scripts
    
      - 
        ParameterHandler
        - Allows you to manage your ignored parameters when running a composer
        install or update.
      
 
      - 
        Tooly
        - Manage needed PHAR files in your project
        
composer.json. Every PHAR file will be saved in the
        composer binary directory. Optional with GPG verification for every
        PHAR.
       
      - 
        Melody - One-file
        composer scripts.
      
 
      - 
        Composer-Travis-Lint
        - Allows you to lint the Travis CI configuration file
        (
.travis.yml).
       
      - 
        Composer-Multitest
        - Enables you to run a Composer script against multiple, locally
        installed PHP versions, which are managed by PHPBrew or phpenv.
      
 
      - 
        ScriptsDev
        - Enables you to use a 
scripts-dev section, which triggers
        scripts only in dev mode.
       
      - 
        PhantomJS-Installer
        - A Composer Package which installs the PhantomJS binary (Linux,
        Windows, Mac) into /bin of your project.
      
 
      - 
        Composer-Vendor-Cleanup
        - A script which removes whitelisted unnecessary files (like tests/docs
        etc.) from the vendor directory.
      
 
      - 
        Composer Substitution Plugin
        - A Composer plugin replacing placeholders in the
        
scripts section by dynamic values.
       
    
    Services
    
      - 
        Dependabot - Dependabot is a
        dependency update service. It monitors and updates your dependencies by
        sending a pull-request. The service is free for public repos and
        personal account repos.
      
 
    
    
    Tutorials
    
    Blogs
    
    Videos
    
    Slides
    
      - 
        Slides by Nils Adermann
        
      
 
      - 
        Slides by Jordi Boggiano
        
      
 
    
    
    Packagist
    
      Packagist is the PHP Package
      Repository.
    
    Setup a Packagist Mirror
    
    Packagist Mirrors
    About metadata mirrors: https://packagist.org/mirrors
    
      - 
        North America
        
      
 
      - 
        South America
        
      
 
      - 
        Africa
        
      
 
      - 
        Asia
        
      
 
    
    Composer Repositories
    Private repositories
    
      - 
        fxpio/tug - Enables you to
        host a private Composer registry on AWS Serverless serving your private
        PHP packages, which are hosted on Github or Gitlab services.
      
 
    
    Private Packagist
    
    Repman
    
      - 
        repman.io &
        repman-io/repman
        - A Private PHP Package Repository Manager & Packagist Proxy.
      
 
      - 
        repman-io/composer-plugin
        - This plugin enables downloading via Repman by adding a distribution
        mirror URL for all your dependencies (without need to update the
        
composer.lock file).
       
    
    
      Packagist-compatible repositories
    
    
      - 
        WordPress Packagist - Mirrors the
        WordPress plugin and theme directories as a Composer repository.
      
 
      - 
        Asset Packagist - Enables
        installation of Bower and NPM packages as native Composer packages.
      
 
      - 
        Firegento - A Composer
        Repository providing Magento Modules.
      
 
      - 
        Drupal Packagist
        - Composer repositories for Drupal 7 and 8 core, modules, and themes.
      
 
      - 
        Satis Server
        - This docker container provides a Satis Server and enables you to run a
        private, self-hosted Composer repository with support for Git,
        Mercurial, and Subversion, HTTP API, HTTPs support, webhook handler and
        scheduled builds.
      
 
      - 
        Cloudsmith - A fully managed
        package management SaaS with PHP/Composer support (and many others).
      
 
      - 
        Release Belt
        - Self–hosted Composer repository implementation to quickly integrate
        ZIP files of third party non–Composer releases.
      
 
      - 
        Packeton - Private
        self-hosted Composer repository for vendors. Fork of packagist with
        adding support for authorization, customer users, groups, webhooks.
      
 
    
    Satis
    
      - 
        Gitlab-Composer
        - This is a branch/tag indexer for Gitlab repositories.
      
 
      - 
        Satisfy - Satis
        composer repository manager with a Web UI.
      
 
      - 
        Satis Control Panel
        - A simple web UI for managing your Satis Repository with optional CI
        integration.
      
 
      - 
        Satis Go - A web
        server for managing Satis configuration and hosting the generated
        Composer repository.
      
 
    
    Toran Proxy
    
      - 
        ToranProxy (deprecated) - In
        addition to providing a composer repository ToranProxy acts as a proxy
        server for Packagist and GitHub.
      
 
    
    
    License
    
      
    
    
      To the extent possible under law,
      Jens A. Koch has waived all
      copyright and related or neighboring rights to this work.